package orchestration.businessprocess.model;

import orchestration.businessprocess.model.nodes.BPEndEvent;
import orchestration.businessprocess.model.nodes.BPExGateway;
import orchestration.businessprocess.model.nodes.BPForkGateway;
import orchestration.businessprocess.model.nodes.BPIntEvent;
import orchestration.businessprocess.model.nodes.BPJoinGateway;
import orchestration.businessprocess.model.nodes.BPMergeGateway;
import orchestration.businessprocess.model.nodes.BPStartEvent;
import orchestration.businessprocess.model.nodes.BPTask;
/**
 * general interface to implement if you want to visit a
 * {@link BusinessProcessModel}
 * @author <a href="mailto:car.ferrarini@gmail.com">Carlo Ferrarini</a>
 *
 */
public interface IBPVisitor {

	public void visit(BPStartEvent bpStartEvent);
	public void visit(BPEndEvent bpEndEvent);
	public void visit(BPIntEvent bpIntEvent);
	public void visit(BPTask task);
	public void visit(BPJoinGateway bPJoinGateway);
	public void visit(BPForkGateway bpForkGateway);
	public void visit(BPExGateway bpExGateway);
	public void visit(BPMergeGateway bpMergeExGW);
}
